/* 
 * File:   DeliveryActivity.hpp
 * Author: bd
 *
 * Created on March 26, 2011, 5:14 PM
 */

#ifndef DELIVERYACTIVITY_HPP
#define	DELIVERYACTIVITY_HPP
#include "Activity.hpp"
#include "DeliveryClient.hpp"

class DeliveryActivity : public Activity {
public:
    typedef boost::shared_ptr<DeliveryActivity> DeliveryActivityPtr;
public:
    DeliveryActivity(const DeliveryActivity& orig);
    explicit DeliveryActivity(const std::string& name, const Configuration& config, Pool<ShortMsgItem>& pool);
    virtual ~DeliveryActivity();

    //Member functions
    void start();
    void stop();
    void send(ShortMsgItem& item);

    //Getter - Setter

protected:
    DeliveryClient::DeliveryClientPtr client_;
    
private:

};

#endif	/* DELIVERYACTIVITY_HPP */

